<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
</head>
<body>

	<table id="tbl"></table>
	
	<input  type="text" oninput="haha(this)">
	<h1 id="alert"></h1>

	<script>
	var hh = document.getElementById('alert');
		function haha(a) {
			hh.innerHTML = a.value;
		}

		// oninput：输入就触发
		// onchange:改变完，失去焦点才触发


		//栈
		// arr.pop();//从数组的后边弹出
		// arr.push();//从后面加入数组

		//队列
		// arr.push();
		// arr.shift();

		//高阶函数
	var users = [
		{name:"张三",age:18,sex:'男'},
		{name:"张卫红",age:58,sex:'女'},
		{name:"张二狗",age:35,sex:'男'},
		{name:"张春华",age:35,sex:'女'},
		{name:"张小明",age:12,sex:'男'},
		{name:"张新发",age:24,sex:'男'},
	];


	// for(var i in users){

	// }

	//将数组进行迭代 ==》回调处理每一次迭代的逻辑

	// hadoop=>3篇论文=》<map-reduce>

	// 三个参数：当前的数组元素，当前元素的索引，数组本身

	//forEach , map , filter , some, every, reduce

	// str.substring(3,15).toUpperCase().toLowerCase().indexOf('is')

	var str = users.map(function (item,index,arr) {
		return `
			<tr>
				<td>${item.name}</td>
				<td>${item.age}</td>
				<td>${item.sex}</td>
			</tr>
		`;
	}).reduce(function (qian,dangqian,index,shuzu) {
		return qian+dangqian;
	});
	// console.log(str);
// TypeError: Cannot set property 'innerHTML' of null
	var tbl =document.getElementById('tbl');

	tbl.innerHTML = str;

	var result =[1,2,3,4,5,6,7,8].filter(function (item,index,arr) {
		return item % 2 == 0;
	});
	console.log(result);

	var bb = [1,2,3,4,5,6,7,8].some(function (item,index,arr) {
		return item > 8;
	});

	var arr2 = [];

	// 填充100个随机数，取值范围从12-97，正数
	for(var i =0;i<100;i++){
		arr2[i] = Math.floor( Math.random() * 86 )+19 ;//0-1不包含1
	}


	/**

		如果a大则返回正数10000
		如果b大则返回负数
		如果a，b相等，则返回0;
	*
	*/
	// arr2.sort(function (a,b) {
	// 	if( a > b ){
	// 		return 8978;
	// 	}else if( a < b ){
	// 		return -32432;
	// 	}else{
	// 		return 0;
	// 	}
	// });

	// arr2.sort(function (a,b) {//a=23,b=30
	// 	return b-a;
	// 	// if( a > b ){
	// 	// 	return 8978;
	// 	// }else if( a < b ){
	// 	// 	return -32432;
	// 	// }else{
	// 	// 	return 0;
	// 	// }
	// });

	users.sort(function (a,b) {//a,b=>对象 32 22

		var r = b.age-a.age;
		if(r==0){
			return (b.sex.charCodeAt(0)-a.sex.charCodeAt(0));
		}
		return r;
	});

	</script>
</body>
</html>